Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jakie logowanie najlepiej zrobic?
wozniak
post
Post #1





Grupa: Zarejestrowani
Postów: 278
Pomógł: 0
Dołączył: 21.11.2003

Ostrzeżenie: (0%)
-----


Witam, mam pytanko jakie logowanie najlepiej zrobic? tzn
Jezeli login jest ok i hasło ok to w ciastko wrzucic losowe cyferki i zapisac je np. w bazie i jezeli ciastko i to z bazy bedzie sie zgadzac to pokaze jakies dane dla uzytkownika tak?
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
Najki
post
Post #2





Grupa: Zarejestrowani
Postów: 190
Pomógł: 0
Dołączył: 12.02.2004
Skąd: Poznań

Ostrzeżenie: (0%)
-----


W ciastku powinien być login i hasło, raczej nic więcej. Przy każdym przeładowaniu strony należy wtedy sprawdzić, czy użytkownik o takim loginie istnieje i czy podane jest poprawne hasło, bo użytkownik zawartość ciastka może sobie zmienić w każdej chwili. Jeśli w bazie użytkowników hasła masz kodowane w MD5() to do ciastka wrzuć hasło już zakodowane tym systemem.


--------------------
Go to the top of the page
+Quote Post
php programmer
post
Post #3





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

Ostrzeżenie: (0%)
-----


Zdecydowanie odradzam ciastka,
można bardzo łatwo się gdzieś pomylić,
a to sie nie przeładuje strony, a to setcookie będzie po wysłaniu nagłowka,
zamiast tego lepiej użyć sesje, zmienna $_SESSION zachowuje się bardzo podobnie do zwykłych zmiennych (z tą różnicą, że jest widoczna wszędzie),
operacje przypisania wyglądają podobnie jak dla zwykłej zmiennej, nie trzeba
używać specjalnie funkcji żeby ustawić zmienną (jak to jest w przypadku ciastek)
po za tym masz już id sejsi (nie musisz nic losować)

Ten post edytował php programmer 28.02.2006, 09:08:14
Go to the top of the page
+Quote Post
mike
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


~php programmer wybacz ale to co napisałeś to głupie argumenty.

Cytat(php programmer @ 2006-02-28 09:04:51)
Zdecydowanie odradzam ciastka,
Dlaczego?

Cytat(php programmer @ 2006-02-28 09:04:51)
można bardzo łatwo się gdzieś pomylić,
Stosowanie sesji nie gwarantuje Ci, że się nie pomylisz. Tak samo możesz się pomylić jak przy cookies

Cytat(php programmer @ 2006-02-28 09:04:51)
a to sie nie przeładuje strony, a to setcookie będzie po wysłaniu nagłowka,
1. A po co Ci przeładowanie strony?
2. "A to się napisze session_start()" po wysłąniu nagłówków tongue.gif Tak samo jak w cookies

Cytat(php programmer @ 2006-02-28 09:04:51)
zamiast tego lepiej użyć sesje, zmienna $_SESSION zachowuje się bardzo podobnie do zwykłych zmiennych (z tą różnicą, że jest widoczna wszędzie),
A co powiesz o zmiennej $_COOKIE :?:

Cytat(php programmer @ 2006-02-28 09:04:51)
operacje przypisania wyglądają podobnie jak dla zwykłej zmiennej, nie trzeba
używać specjalnie funkcji żeby ustawić zmienną (jak to jest w przypadku ciastek)
A tu musisz używać session_start() i session_destroy()

A poza tym nie wiem czy wiesz, ale korzystanie z sesji powoduje ustawianie cookie na komputerze użytkownika. No chyba że ich nie akceptuje, wtedy UID idzie w linkach i łatwo o włam.

Nie mówię, że nie masz racji. Bo to jest subiektywne podejście i ocena.
Ale jak już chcesz coś zargumentować , to podaj jakieś normalne argumenty.
Go to the top of the page
+Quote Post
php programmer
post
Post #5





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

Ostrzeżenie: (0%)
-----


Nie chce się tu wykłucać, ale session_start() piszesz tylko raz na początku strony,
bez żadnych argumentów, wręcz mechanicznie,

a przypisanie wartości wymaga tylko:
  1. <?php
  2. $_SESSION['nazwa']='wartosc';
  3. ?>

i już można używać zwyczajnie tej zmiennej dwie linijki niżej

podczas gdy przy cookie masz:
  1. <?php
  2. setcookie('nazwa','wartosc',time()+3600);
  3. ?>

i widzisz tą zmienną dopiero przy kolejnej wizycie, np przeładowaniu strony

na dodatek kiedyś przez pomyłkę napisałem 3600 zamiast time()+3600
(strata czasu na szukanie błedu)

sam zreszta jeszcze nie dawno byłem przciwnikiem sesji, bo skoro opiera się na cookie to po co jej używać, ale teraz po prostu wiem, że przy cookie łatwiej się pomylić, to tak jak by powiedziec, po co komu Windows/Linux jak można bezpośrednio pisac komendy w asemblerze

cookies mają sens jedynie przy długoterminowym przechowywaniu zmiennych
(tydzień, miesiąc, ...)

Ten post edytował php programmer 28.02.2006, 11:36:38
Go to the top of the page
+Quote Post
koskitos
post
Post #6





Grupa: Zarejestrowani
Postów: 149
Pomógł: 0
Dołączył: 18.04.2004
Skąd: Z nikąd

Ostrzeżenie: (30%)
XX---


ok, a w sesjach chyba niekonieczne jest przechowywanie hasla? wystarczy nazwa usera?
dla pewnosci pytam


--------------------
kOskiToS :D
Go to the top of the page
+Quote Post
php programmer
post
Post #7





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

Ostrzeżenie: (0%)
-----


Nie trzeba, hasło sprawdza się tylko za pierwszym razem w bazie
a potem tylko ustawiasz w sesji że dany użytkownik jest zalogowany,
(zresztą w przypadku cookie też nie trzeba trzymać hasła)
Go to the top of the page
+Quote Post
revyag
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

Ostrzeżenie: (0%)
-----


Cytat
że przy cookie łatwiej się pomylić,

Kiepski argument, łatwiej się pomylić ? Że wcisnę inną cyfrę na klawiaturze ? To od dzisiaj zaczynam programować tylko myszką snitch.gif

Cytat
to tak jak by powiedziec, po co komu Windows/Linux jak można bezpośrednio pisac komendy w asemblerze

LOL
thumbsupsmileyanim.gif


--------------------
-------------

------
Go to the top of the page
+Quote Post
php programmer
post
Post #9





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

Ostrzeżenie: (0%)
-----


No z tym Linuxem to argument troche przesadzony, ale oddaje co miałem na myśli
Go to the top of the page
+Quote Post
mike
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(php programmer @ 2006-02-28 11:18:39)
prostu wiem, że przy cookie łatwiej się pomylić, to tak jak by powiedziec, po co komu Windows/Linux jak można bezpośrednio pisac komendy w asemblerze

A po co słuchać takich głupot skoro można posuchać kogoś kto ma konkretne argumenty.
Już nawet nie mówię o sobie. Ważne żeby nie Ciebie z takimi głupotami na języku tongue.gif
Go to the top of the page
+Quote Post
Kuziu
post
Post #11





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Cytat(php programmer @ 2006-02-28 12:33:47)
Nie trzeba, hasło sprawdza się tylko za pierwszym razem w bazie
a potem tylko ustawiasz w sesji że dany użytkownik jest zalogowany,
(zresztą w przypadku cookie też nie trzeba trzymać hasła)

A to Ciekawe.

I np. komuś chcesz usunąć konto a on ma tylko informację o tym że jest zalogowany i chodzi po stronce mimo ze go już nie ma.

Ktoś komuś wykrada hasło. User wysyła sobie przypomnienie na maila. zmienia hasło a tamten może mu nadal łazić po koncie mimo że ma już nieaktualne hasło bo ma nastawione w cookie Zalogowany.

Bez sensu.

W cookie nalezy trzymać login i hasło zakodowane i sprawdzac przy każdej odsłonie.


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post
php programmer
post
Post #12





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

Ostrzeżenie: (0%)
-----


ok, no to tym bardziej sie ujawnia przewaga sesji,
(zamkniesz okno i juz jesteś automatycznie wylogowany)
Go to the top of the page
+Quote Post
nospor
post
Post #13





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
(zamkniesz okno i juz jesteś automatycznie wylogowany)
i co z tego? ale koles co ci biega na Twoim hasle nie zamyka okna i nadal ma sesję i nadal jest zalogowany i nadal ci bruździ na koncie do bulu.

zastanow sie zanim coś napiszesz. W koncu posiadasz "wiedzę popartą wieloletnim doświadczeniem". Nie szargaj tak se opini winksmiley.jpg


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
php programmer
post
Post #14





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

Ostrzeżenie: (0%)
-----


o matko,
no chyba koleś nie będzie trzymał przez miesiąc otwartej przeglądarki,
więcej za prąd zapłaci niż by miał z tego korzyść

Ten post edytował php programmer 28.02.2006, 12:06:30
Go to the top of the page
+Quote Post
nospor
post
Post #15





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@php programmer jesteś niesamowity smile.gif Musisz być szczęsliwy, bo widze ze wogole nie przejmujesz się opiniami innych winksmiley.jpg

Kolesiowi wystarczy 5 minut by ci nabruździc na twoim koncie.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
php programmer
post
Post #16





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

Ostrzeżenie: (0%)
-----


nospor jesteś niekonsekwentny w swoich wypowiedziach,
włamywacz najpierw musi się włamac żeby mieć hasło,
skoro już się włamie, to przecież admin nie musi wcale wiedzieć
że ktoś się włamał, (włamał się na dodatek w nocy spacjalnie jak wszyscy śpią)
i i tak nie zmieni hasła

Ten post edytował php programmer 28.02.2006, 12:13:23
Go to the top of the page
+Quote Post
Kuziu
post
Post #17





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

Ostrzeżenie: (0%)
-----


A co z logowaniem na stałe ?

U mnie na stronie większość osób korzysta z zapamiętywania hasła.
Jak chcą się wylogować to mogą.
A gdy chcę ich usunąć to już najbliższe kliknięcie go wywala z konta.

A tak jak napisał nospor 5 minut wystarcza.

No ale jak chcesz to upieraj się dalej przy swoim nawet jeśli kilka osób mówi Ci to samo.

Pozdro


--- edit ---

To co jak już się włamał to niech sobie siedzi miesiącami na koncie ?
I nie ma siły go wywalić ?

Bezsens

Lub jeszcze inna sytuacja.
Ktoś mi zmienia hasło ... mnie nie wywala i nawet nie wiem że mi zmienił i sobie używam konta przez miesiąc nie wiedzą że ktoś mi zmienił hasło a on z mojego konta może czytać jakieś informacje kierowane tylko do mnie.

A zresztą mówisz że w cookies mozna popełnić błąd z time()+3600 a 3600 a taki błąd że ktoś może komuś na koncie siedzieć Cię nie razi.
Przez to widać że mowisz tylko to co Ci pasuje nie patrząc na opinię innych.
Bo błąd mało ważny powodowany z Twojej winy jakim jest czas życia Cookie jest tak wazny że przekonujesz kogoś do nie korzystania z niego a to że ktoś się włamie na konto jest dla ciebie mało wazne.

Ten post edytował Kuziu 28.02.2006, 12:20:10


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post
nospor
post
Post #18





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
nospor jesteś niekonsekwentny w swoich wypowiedziach,
Nie rozumiem.

Spojrz na to globalnie. ale moze akurat admin o tym wie i ma szanse temu zapobiec. W twoim skrypcie nie bedzie mial tej szansy winksmiley.jpg Mowimy tu tez o prawach. Dla danego usera mogą się one w danej chwili zmienic, ze nie moze czegos zrobic. Niesprawdzając tego, skrypt mu na to pozwoli, bo jest zalogowany na starych prawach.
I wiele innych.
Ale juz skonczmy z tym bo nie raz daleś przyklad, że ciebie nie da się przekonać


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
sobstel
post
Post #19





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


osobiście uważam, że trzymanie w cookies loginu i hasła to nie jest najlepszy pomysł. nie ma przynajmniej większego uzasadnienia dla tego, bowiem w zupełności wystarczy session_id (i wcale nawet nie trzeba do tego używać mechanizmu obsługi sesji wbudowanego w php). oczywiście nie należy trzymać w samych danych sesyjnych informacyji o tym czy user zalogowany oraz jakie ma prawa. trzeba natomiast sprawdzać to przy każdym żądaniu na podstawie user_id trzymanym jako zmienna sessyjna [nie cookie] (user wtedy nie masz szans wykonać czynności do których nie jest uprawniony, także wtedy gdy już po zalogowaniu został usunięty albo zmieniono mu prawa).

ze względów bezpieczeństwa oczywiście najlepiej wyłączyć transparentne przekazywanie session_id w adresie, tj. uzywac tylko cookies (m.in. session.use_only_cookie czy jakos tak)

---
EDIT:

co do logowania na stałe, to tu też nie używałbym loginu i hasła a też jakiś hash np. md5, tylko nie ten sam co session_id. sesson_id ma dotyczyć (jak sama nazwa wskazuje) danej sesji usera.

Ten post edytował sopel 28.02.2006, 12:52:18


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
wozniak
post
Post #20





Grupa: Zarejestrowani
Postów: 278
Pomógł: 0
Dołączył: 21.11.2003

Ostrzeżenie: (0%)
-----


Teraz mnie dopiero zmieszaliscie;)
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 01:31